/**
 * 工具集
 * @author toyflivver (Mr.Qu)
 * @QQ 2440659688
 */

function inintPageSize(_data){

  if (_data && _data.data && _data.data.list) {
    if (_data.data.list.length < window.PAGE_LENGTH) {
      var oldLength = _data.data.list.length;
      for (var i = oldLength; i < window.PAGE_LENGTH; i++) {
        _data.data.list.push({});
      }
    }
  }
  return _data;
}


function initPageBar(page_bar_id,_data){

	var $pageBtnTep = $('<button class="btn btn-link btn-xs"  data-page=""></button>');
	var $pageBar = $(page_bar_id);
	var $prePage = $pageBtnTep.clone();
	var $nextPage = $pageBtnTep.clone();
	var curPage = _data.data.pageNumber;
	var barStart = curPage-2;
	var barStop = curPage+2;

	$prePage.html("< 上一页").attr("data-page",curPage-1);
	$nextPage.html("下一页 >").attr("data-page",curPage+1);
	if(_data.data.totalPage == 0){
		$prePage.attr("disabled",true);
		$nextPage.attr("disabled",true);
		$pageBar.append($prePage);
		$pageBar.append($nextPage);
	}else{
		if(_data.data.firstPage){
			$prePage.attr("disabled",true);
		}
		if(_data.data.lastPage){
			$nextPage.attr("disabled",true);
		}
		$pageBar.append($prePage);

		if(barStart>1){
			var $firstBtn = $pageBtnTep.clone()
				.html("1..")
				.attr("data-page",1);
			$pageBar.append($firstBtn);
		}

		for(var i=barStart; i<=barStop; i++){
			if(i>0 && i<=_data.data.totalPage){
				var $pageBtn = $pageBtnTep.clone();
				$pageBtn.html(i).attr("data-page",i);
				if(i==curPage){
					$pageBtn.addClass("active").addClass("btn-default");
				}
				$pageBar.append($pageBtn);
			}
		}

		if(barStop<_data.data.totalPage){
			var $firstBtn = $pageBtnTep.clone()
				.html(".."+_data.data.totalPage)
				.attr("data-page",_data.data.totalPage);
			$pageBar.append($firstBtn);
		}

		$pageBar.append($nextPage);
	}

}

/**
 * 为String类型的对象增加replaceAll方法
 */
String.prototype.replaceAll = function(s1,s2){ 
//	return this.replace(new RegExp(s1,"gm"),s2);
	var finish = false;
	var resultStr = this.replace(s1,s2);
	while(!finish){
		if(resultStr.indexOf(s1) > 0){
			resultStr = resultStr.replace(s1 , s2);
		}else{
			finish = true;
		}
	}
	return resultStr;
};

// 对Date的扩展，将 Date 转化为指定格式的String
// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符，
// 年(y)可以用 1-4 个占位符，毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
// 例子：
// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
// (new Date()).Format("yyyy-M-d h:m:s.S")      ==> 2006-7-2 8:9:4.18
Date.prototype.Format = function (fmt) { //author: meizz
	var o = {
		"M+": this.getMonth() + 1, //月份
		"d+": this.getDate(), //日
		"h+": this.getHours(), //小时
		"m+": this.getMinutes(), //分
		"s+": this.getSeconds(), //秒
		"q+": Math.floor((this.getMonth() + 3) / 3), //季度
		"S": this.getMilliseconds() //毫秒
	};
	if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
	for (var k in o)
		if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
	return fmt;
};


var JSONTool= new Object();
/**
 * 将一般JS对象转化成JSON格式字符串。
 */
JSONTool.toJSON = function(data){
	return JSON.stringify(data);
};
/**
 * 将JSON格式字符串解析一般JS对象。
 */
JSONTool.fromJSON = function(jsonData){
	return JSON.parse(jsonData);
};

var StringTool = new Object();
StringTool.isNull = function(str){
	var result = null;
	if(str == undefined || str == null){
		result = true;
	}else{
		result = false;
	}
	return result;
};

StringTool.isEmpty = function(str){
	var result = null;
	if(str == undefined || str == null || str == "" || str.trim() == ""){
		result = true;
	}else{
		result = false;
	}
	return result;
};

$.scrollto = function(position, time){
	$('html, body').animate({
		scrollTop: $(position).offset().top
	}, time);
};


var Checkor = new Object();

Checkor.number = "number";

Checkor.require = function(str ){
	if(StringTool.isEmpty(str)){
		return false;
	}else{
		return true;
	}
};


Checkor.isEmpty = function(str){
	if(StringTool.isEmpty(str)){
		return true;
	}else{
		return false;
	}
};

Checkor.isNumber = function(str){
  var regExp = new RegExp("^[0-9]+$");
  return regExp.test(str);
};

Checkor.notNumber = function(str){
	var num = Number(str);
	if(num == NaN){
		return true;
	}else{
		return false;
	}
};

Checkor.isEmail = function(str){
	var regExp = new RegExp("^[0-9A-Za-z]@[0-9A-Za-z].com$");
	return regExp.test(str);
};

//判断是否是家庭电话
Checkor.isHomePhone=function(str){
  var checkPhone = /^0\d{2,3}-?\d{7,8}$/;
  return checkPhone.test(str);
};

//判断是否是邮编
Checkor.isPostCode=function(str){
  var checkPostCode= /^[1-9][0-9]{5}$/
  return checkPostCode.test(str)
};

Checkor.isEmail = function(str){
	return !Checkor.isEmail(str);
};


/**
 * 如果str是手机号码格式则返回true
 * 手机是：11位号码，座机是：（4位区号和一个"-"，可选）7位或8位号码
 */
Checkor.isPhone = function(str){
	var regExp = new RegExp("^([0-9]{11}|[0-9]{4}-[0-9]{7,8}|[0-9]{7,8})$");
	return regExp.test(str);
};

/**
 * 如果str不是手机号码格式则返回true
 */
Checkor.notPhone = function(str){
	return !Checkor.isPhone(str);
};

/**
 * 如果str不是中文则返回true
 * @param str
 */
Checkor.isChinese = function(str){
  var reg = /^[\u4e00-\u9fa5]+$/g;
  var result = reg.test(str);
  return result;
};

/**
 * 如果str不是正确的身份证号则返回true
 * @param str
 */
Checkor.isIDCard = function(str){
  var reg = /^(([0-9]{15})|([0-9]{17})[0-9Xx]{1})$/g;
  var result = reg.test(str);
  return result;
};

var IdCardTool = {};
IdCardTool.getAge = function(idCard){
	if(idCard!=null && idCard.length> 14){
    var birthday = idCard.substr(6,8);
    var year = birthday.substr(0,4);
    var now = new Date();
    var curYear = now.getFullYear();
    return curYear- new Number(year);
	}else{
		return "";
	}

};
IdCardTool.getBirthday = function(idCard){
  if(idCard!=null && idCard.length> 14){
    var birthday = idCard.substr(6,8);
    var year = birthday.substr(0,4);
    var month = birthday.substr(4,2);
    var day = birthday.substr(6,2);
    return year+"-"+month+"-"+day;
  }else{
    return "";
  }
};

